function appletTool(env)
{
    this.Env = env;
    this.DOMRootObj = null;

    this.getEnv = function()
    {
        return this.Env;
    }

    this.startTool = function()
    {
        // функция startTool должна возвращать строковое значение для того,
        // чтобы апплет работал правильно (работает только со значением типа String)
        var xml = $.ajax({
        	async: false,
            url: this.Env.startToolUrl,
            type: 'GET',
            dataType: 'xml',
            timeout: 5000
        });

        var result_str = 'false';
        if (xml) {
            var msg = $(xml.responseXML).find('message').text();

            if ($(xml.responseXML).find('result').text() == 'true') {
                result_str = 'true';
            }
        }

        return result_str;
    }

    this.getUserName = function()
    {
        return this.Env.userName;
    }

    this.setResult = function(str)
    {
        this.DOMRootObj.onbeforeunload = null;

        var xml = $.ajax({
        	async: false,
            url: this.Env.endToolUrl,
            type: 'GET',
            dataType: 'xml',
            timeout: 5000,
            data: {
                'auth':this.Env.auth ,
                'result': str
            }
        });

        var result_str = 'false';
        if (xml) {
            var msg = $(xml.responseXML).find('message').text();

            if ($(xml.responseXML).find('result').text() == 'true') {
                result_str = 'true';
            }
        }

        return result_str;
    }

    this.init = function()
    {
        this.DOMRootObj = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
        this.DOMRootObj.onbeforeunload = windowCloseMessage;
    }
}